import axios from "axios";
//1.创建axios实例
const instance = axios.create({
  baseURL: 'http://kumanxuan1.f3322.net:8001/',
  timeout: 5000
})


/* 
两种拦截器的比较：
1.封装axios拦截器：拦截的是请求，一般用在需要添加请求信息（类如请求头）
2.路由拦截：拦截的是页面，可以决定用户有没有权限访问页面

*/

//2.拦截器
instance.interceptors.request.use(function (config) {
  //在发送请求之前做过什么
  /* 
  1.可以判断用户有没有登录？如果没有登录，就直接return，请求就不会发送出去
  2.什么时候执行这个函数？在发送请求之前
  */
  //console.log("config:", config); //本次请求的一些信息
  let token = localStorage.getItem('token');
  if (token) {
    //携带登录凭证去发起请求
    config.headers['X-Nideshop-Token'] = token;
  }
  return config;
}, function (error) {
  //对请求错误做些什么
  return Promise.reject(error);
})

instance.interceptors.response.use(function (res) {
  /* 
  1.响应器在接收响应之前执行此函数：就是在执行then()函数之前
  2.
  */
  //console.log("res:", res); //本次服务器响应的一些信息
  return res.data;
}, function (error) {
  return Promise.reject(error);
})

//3.导出拦截器
export default instance;